DefectChecker: Automated Smart Contract Defect Detection by Analyzing EVM Bytecode
نویسندگان
چکیده
Smart contracts are Turing-complete programs running on the blockchain. They immutable and cannot be modified, even when bugs detected. Therefore, ensuring smart bug-free well-designed before deploying them to blockchain is extremely important. A contract defect an error, flaw or fault in a that causes it produce incorrect unexpected result, behave unintended ways. Detecting removing defects can avoid potential make more robust. Our previous work defined 20 for divided into five impact levels. According our classification, with seriousness level between 1-3 lead unwanted behaviors, e.g., being controlled by attackers. In this paper, we propose DefectChecker, symbolic execution-based approach tool detect eight cause behaviors of Ethereum platform. DefectChecker from bytecode. We compare key works, including Oyente, Mythril Securify using open-source dataset. experimental results show performs much better than these tools terms both speed accuracy. also applied 165,621 distinct found 25,815 contain at least one belongs 1-3, some real-world attacks.
منابع مشابه
Automated Detection of Non-termination and NullPointerExceptions for Java Bytecode
Recently, we developed an approach for automated termination proofs of Java Bytecode (JBC), which is based on constructing and analyzing termination graphs. These graphs represent all possible program executions in a finite way. In this paper, we show that this approach can also be used to detect non-termination or NullPointerExceptions. Our approach automatically generates witnesses, i.e., cal...
متن کاملAnalyzing Control Flow in Java Bytecode
Understanding control ows in a computer program is essential for many software engineering tasks such as testing, debugging, reverse engineering, and maintenance. In this paper, we present a control ow analysis technique to analyze the control ow in Java bytecode. To perform the analysis, we construct a control ow graph (CFG) for Java bytecode not only at the intraprocedural level but also at t...
متن کاملBytecode verification on Java smart cards
This article presents a novel approach to the problem of bytecode verification for Java Card applets. By relying on prior off-card bytecode transformations, we simplify the bytecode verifier and reduce its memory requirements to the point where it can be embedded on a smart card, thus increasing significantly the security of post-issuance downloading of applets on Java Cards. This article descr...
متن کاملAutomated Termination Analysis of Java Bytecode by Term Rewriting
We present an automated approach to prove termination of Java Bytecode (JBC) programs by automatically transforming them to term rewrite systems (TRSs). In this way, the numerous techniques and tools developed for TRS termination can now be used for imperative object-oriented languages like Java, which can be compiled into JBC.
متن کاملSecuring Multi-Application Smart Cards by Security-by-Contract
The Security-by-Contract (S×C) framework has recently been proposed to support applications evolution in multi-application smart cards. The key idea is based on the notion of contract, a specification of the security behavior of an application that must be compliant with the security policy of a smart card. In this paper we address one of the key features needed to apply the S×C idea to a resou...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: IEEE Transactions on Software Engineering
سال: 2022
ISSN: ['0098-5589', '1939-3520', '2326-3881']
DOI: https://doi.org/10.1109/tse.2021.3054928